package ar.edu.untref.maquinasenfriar.model;

import junit.framework.Assert;

import org.junit.Test;

import ar.edu.untref.maquinasenfriar.tests.Carga;
import ar.edu.untref.maquinasenfriar.tests.MaquinaElectrica;
import ar.edu.untref.maquinasenfriar.tests.MaquinaElectricaRapida;
import ar.edu.untref.maquinasenfriar.tests.MaquinaVapor;
import ar.edu.untref.maquinasenfriar.tests.MaquinaVaporRapida;


public class MaquinaDeEnfriarTest {

	/*
	 * baja 10 grados la temperatura de la carga
	 */
	@Test
	public void testEnfriarMaquinaVapor() {
		Carga carga = new Carga();
		MaquinaVapor maquina = new MaquinaVapor();

		Assert.assertTrue(carga.getTemperatura().equals(100));

		maquina.enfriar(carga);

		Assert.assertEquals(90, carga.getTemperatura());
	}

	/*
	 * baja 20 grados la temperatura de la carga
	 */
	@Test
	public void testEnfriarMaquinaVaporRapida() {

		MaquinaVapor maquina = new MaquinaVapor();

		MaquinaVaporRapida mvRapida = new MaquinaVaporRapida(maquina);

		Carga carga = new Carga();

		Assert.assertTrue(carga.getTemperatura().equals(100));

		mvRapida.enfriar(carga);

		Assert.assertEquals(80, carga.getTemperatura());

	}

	/*
	 * baja 10 grados la temperatura de la carga
	 */
	@Test
	public void testEnfriarMaquinaElectrica() {

		Carga carga = new Carga();
		MaquinaElectrica maquina = new MaquinaElectrica();

		Assert.assertEquals(100, carga.getTemperatura());

		maquina.enfriar(carga);
		Assert.assertEquals(90, carga.getTemperatura());

	}

	@Test
	public void testEnfriarMaquinaElectricaRapida() {

		MaquinaElectrica maquina = new MaquinaElectrica();
		MaquinaElectricaRapida meRapida = new MaquinaElectricaRapida(maquina);
		Carga carga = new Carga();
		meRapida.enfriar(carga);

		Assert.assertEquals(80, carga.getTemperatura());
	}

}
